#!/bin/bash

# 获取当前交换空间大小（以 GB 为单位）
swap_size=$(free -g | awk '/Swap:/ {print $2}')

# 判断交换空间是否小于 4GB
if [ "$swap_size" -lt 4 ]; then
    echo "当前交换空间为 ${swap_size}GB，小于 4GB，正在增加交换空间..."

    # 设置交换文件大小为 4GB
    sudo fallocate -l 4G /swapfile
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile

    # 将交换文件添加到 /etc/fstab，确保重启后仍然生效
    echo "/swapfile swap swap defaults 0 0" | sudo tee -a /etc/fstab

    echo "交换空间已增加到 4GB。"
else
    echo "当前交换空间为 ${swap_size}GB，无需增加。"
fi